home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2001 September / MICD2001_09_NR2.iso / PHP-Nuke / Comfort / setup.exe / {app} / dqLIB / calendar.php3 next >
Text File  |  2000-07-31  |  4KB  |  104 lines

  1. <?
  2.  
  3. # To jest plik typu biblioteki,
  4. # tworzy on kalendarz na bazie tabeli html'a
  5. class Calendar { 
  6.     
  7.     var $TableBorder            = 5;                            # Grubo£µ ramki
  8.     var $TableCellSpacing     = 0;                            # OdstΩp miΩdzy kom≤rkami
  9.     var $TableAlign             = 1;                            # Wyr≤wnanie ca│ej tabeli
  10.     var $TableTitleAlign    = 0;                            # Wyr≤wnanie tekstu w kom≤rkach nag│≤wkowych
  11.     var $TableWidth        = '';                            # Szeroko£µ tabeli
  12.     var $CellsWidth        = '90';                            # Szeroko£µ kom≤rek
  13.     var $CellsAlign        = 2;                            # Wyr≤wnanie tekstu w pozosta│ych kom≤rkach
  14.     var $hAlign              = array( '<P ALIGN="left">', '<CENTER>','<P ALIGN="right">');
  15.     var $htAlign              = array( 'left', 'middle','right');
  16.     var $hAlignEnd        = array( '</P>', '</CENTER>', '</P>');
  17.     var $HeadlineFont              = '"verdana, arial" size-1';
  18.     var $HeadlineBGColor     = '#c0c0c0'; 
  19.     
  20.         function genToDayCalendar() {
  21.             
  22.             if (!$month) { $month = date( "m"); }; 
  23.     if (!$year) { $year = date( "Y"); }; 
  24.     if (!$day) { $day = date( "d"); };  
  25.     
  26.     $this->genCalendar($month,$day,$year); }
  27.     
  28.         function genCalendar($month,$day,$year) { 
  29.             
  30.             if (($this->TableWidth!='')and($this->TableWidth!=0)) {
  31.                 $a_x = 'WIDTH='.$this->TableWidth;
  32.                 $this->TableWidth=$a_x;}
  33.             
  34.             if (($this->CellsWidth!='')and($this->CellsWidth!=0)) {
  35.                 $a_x = 'WIDTH='.$this->CellsWidth;
  36.                 $this->CellsWidth=$a_x;}
  37.             
  38.                 $base_date = mktime(0,0,0,$month,1,$year); 
  39.                 $firstDayOfMonth = date( "w",$base_date); 
  40.                 $stopMe = 7 - $firstDayOfMonth + 1; 
  41.  
  42.                 $daysOfWeek = array( "Niedziela", "Poniedzia│ek", "Wtorek", "îroda", "Czwartek", "Pi╣tek", "Sobota"); 
  43.                 
  44.                 $tabAlign = $this->hAlign[$this->TableAlign];  
  45.                 $tabtitleAlign = $this->htAlign[$this->TableTitleAlign];
  46.                 $tabAlignEnd = $this->hAlignEnd[$this->TableAlign];  
  47.                 $cellAlign = $this->htAlign[$this->CellsAlign];              
  48.  
  49.                 for ($lastday = 31; $lastday > 27; $lastday--) 
  50.                 { 
  51.                         $monsta = checkdate($month,$lastday,$year); 
  52.                         if ($monsta) 
  53.                         { 
  54.                                 break; 
  55.                         } 
  56.                 } 
  57.                 
  58.                 echo  "$tabAlign"; 
  59.                 echo  "<B>$month - $day - $year</B><BR><BR>"; 
  60.                 echo  "<TABLE BORDER=$this->TableBorder CELLSPACING=$this->TableCellSpacing $this->TableWidth>"; 
  61.                 echo  "<TR>"; 
  62.                 for ($x = 0; $x < 7; $x++) 
  63.                 { 
  64.                         echo  "<TD $this->CellsWidth BGCOLOR=$this->HeadlineBGColor VALIGN=middle ALIGN=$tabtitleAlign><FONT FACE=$this->HeadlineFont> $daysOfWeek[$x] </FONT></TD>"; 
  65.                 } 
  66.                 echo  "</TR>"; 
  67.  
  68.                 echo  "<TR>"; 
  69.                 for ($z = 0; $z <  7; $z++) 
  70.                 { 
  71.                         if ( $z < $firstDayOfMonth ) 
  72.                         { 
  73.                                 echo  "<TD BGCOLOR=$this->HeadlineBGColor></TD>"; 
  74.                         } 
  75.                         else 
  76.                         { 
  77.                                 break; 
  78.                         } 
  79.                 } 
  80.                 for ($z = 1; $z < $stopMe ; $z++) 
  81.                 { 
  82.                         echo  "<TD ALIGN=$cellAlign>$z</TD>"; 
  83.                 } 
  84.                 echo  "</TR>\n"; 
  85.                 $hold = $z; 
  86.                 $hold--; 
  87.  
  88.                 for (;$z <= $lastday; $z++) 
  89.                 { 
  90.                         echo  "<TD ALIGN=$cellAlign>$z</TD>"; 
  91.                         $wood = $z - $hold; 
  92.                         if ( $wood % 7 == 0) 
  93.                         { 
  94.                                     echo  "</TR>\n<TR>"; 
  95.                         } 
  96.                 } 
  97.                 echo  "</TABLE>"; 
  98.                 echo  "$tabAlignEnd"; 
  99.         } 
  100. ?>
  101.  
  102.  
  103.